/*
 * XML Type:  BodyEstadosDeCuentaXContratoMPRs
 * Namespace: http://grupobbva.com.pe/HarecService/
 * Java type: pe.com.grupobbva.harecservice.BodyEstadosDeCuentaXContratoMPRs
 *
 * Automatically generated - do not modify.
 */
package pe.com.grupobbva.harecservice.impl;
/**
 * An XML BodyEstadosDeCuentaXContratoMPRs(@http://grupobbva.com.pe/HarecService/).
 *
 * This is a complex type.
 */
public class BodyEstadosDeCuentaXContratoMPRsImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements pe.com.grupobbva.harecservice.BodyEstadosDeCuentaXContratoMPRs
{
    
    public BodyEstadosDeCuentaXContratoMPRsImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName ESTADOCUENTA$0 = 
        new javax.xml.namespace.QName("http://grupobbva.com.pe/HarecService/", "estadoCuenta");
    private static final javax.xml.namespace.QName RESULTADO$2 = 
        new javax.xml.namespace.QName("http://grupobbva.com.pe/HarecService/", "resultado");
    private static final javax.xml.namespace.QName ERROR$4 = 
        new javax.xml.namespace.QName("http://grupobbva.com.pe/HarecService/", "error");
    
    
    /**
     * Gets array of all "estadoCuenta" elements
     */
    public pe.com.grupobbva.harecservice.EstadoCuenta[] getEstadoCuentaArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(ESTADOCUENTA$0, targetList);
            pe.com.grupobbva.harecservice.EstadoCuenta[] result = new pe.com.grupobbva.harecservice.EstadoCuenta[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "estadoCuenta" element
     */
    public pe.com.grupobbva.harecservice.EstadoCuenta getEstadoCuentaArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            pe.com.grupobbva.harecservice.EstadoCuenta target = null;
            target = (pe.com.grupobbva.harecservice.EstadoCuenta)get_store().find_element_user(ESTADOCUENTA$0, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "estadoCuenta" element
     */
    public int sizeOfEstadoCuentaArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(ESTADOCUENTA$0);
        }
    }
    
    /**
     * Sets array of all "estadoCuenta" element
     */
    public void setEstadoCuentaArray(pe.com.grupobbva.harecservice.EstadoCuenta[] estadoCuentaArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(estadoCuentaArray, ESTADOCUENTA$0);
        }
    }
    
    /**
     * Sets ith "estadoCuenta" element
     */
    public void setEstadoCuentaArray(int i, pe.com.grupobbva.harecservice.EstadoCuenta estadoCuenta)
    {
        synchronized (monitor())
        {
            check_orphaned();
            pe.com.grupobbva.harecservice.EstadoCuenta target = null;
            target = (pe.com.grupobbva.harecservice.EstadoCuenta)get_store().find_element_user(ESTADOCUENTA$0, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(estadoCuenta);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "estadoCuenta" element
     */
    public pe.com.grupobbva.harecservice.EstadoCuenta insertNewEstadoCuenta(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            pe.com.grupobbva.harecservice.EstadoCuenta target = null;
            target = (pe.com.grupobbva.harecservice.EstadoCuenta)get_store().insert_element_user(ESTADOCUENTA$0, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "estadoCuenta" element
     */
    public pe.com.grupobbva.harecservice.EstadoCuenta addNewEstadoCuenta()
    {
        synchronized (monitor())
        {
            check_orphaned();
            pe.com.grupobbva.harecservice.EstadoCuenta target = null;
            target = (pe.com.grupobbva.harecservice.EstadoCuenta)get_store().add_element_user(ESTADOCUENTA$0);
            return target;
        }
    }
    
    /**
     * Removes the ith "estadoCuenta" element
     */
    public void removeEstadoCuenta(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(ESTADOCUENTA$0, i);
        }
    }
    
    /**
     * Gets the "resultado" element
     */
    public java.lang.String getResultado()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(RESULTADO$2, 0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "resultado" element
     */
    public org.apache.xmlbeans.XmlString xgetResultado()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(RESULTADO$2, 0);
            return target;
        }
    }
    
    /**
     * Sets the "resultado" element
     */
    public void setResultado(java.lang.String resultado)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(RESULTADO$2, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(RESULTADO$2);
            }
            target.setStringValue(resultado);
        }
    }
    
    /**
     * Sets (as xml) the "resultado" element
     */
    public void xsetResultado(org.apache.xmlbeans.XmlString resultado)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(RESULTADO$2, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(RESULTADO$2);
            }
            target.set(resultado);
        }
    }
    
    /**
     * Gets the "error" element
     */
    public pe.com.grupobbva.harecservice.Error getError()
    {
        synchronized (monitor())
        {
            check_orphaned();
            pe.com.grupobbva.harecservice.Error target = null;
            target = (pe.com.grupobbva.harecservice.Error)get_store().find_element_user(ERROR$4, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * Sets the "error" element
     */
    public void setError(pe.com.grupobbva.harecservice.Error error)
    {
        synchronized (monitor())
        {
            check_orphaned();
            pe.com.grupobbva.harecservice.Error target = null;
            target = (pe.com.grupobbva.harecservice.Error)get_store().find_element_user(ERROR$4, 0);
            if (target == null)
            {
                target = (pe.com.grupobbva.harecservice.Error)get_store().add_element_user(ERROR$4);
            }
            target.set(error);
        }
    }
    
    /**
     * Appends and returns a new empty "error" element
     */
    public pe.com.grupobbva.harecservice.Error addNewError()
    {
        synchronized (monitor())
        {
            check_orphaned();
            pe.com.grupobbva.harecservice.Error target = null;
            target = (pe.com.grupobbva.harecservice.Error)get_store().add_element_user(ERROR$4);
            return target;
        }
    }
}
